﻿Namespace Seguranca.Dominio

    ''' <summary>
    ''' Classe Papel.
    ''' </summary>
    ''' <remarks></remarks>
    <Serializable()> _
    Public Class Papel
        Inherits PapelBase

        Private _pai As Papel
        ''' <summary>
        ''' Propriedade Pai
        ''' </summary>
        ''' <value>Papel</value>
        ''' <returns>Papel</returns>
        ''' <remarks></remarks>
        Public Overridable Property Pai() As Papel
            Get
                Return _pai
            End Get
            Set(ByVal value As Papel)
                _pai = value
            End Set
        End Property

        Private _filhos As IList(Of Papel)
        ''' <summary>
        ''' Propriedade Filhos
        ''' </summary>
        ''' <value>Lista</value>
        ''' <returns>Lista</returns>
        ''' <remarks></remarks>
        Public Overridable Property Filhos() As IList(Of Papel)
            Get
                Return _filhos
            End Get
            Set(ByVal value As IList(Of Papel))
                _filhos = value
            End Set
        End Property

        Private _composicoes As IList(Of Papel)
        ''' <summary>
        ''' Propriedade Composicoes
        ''' </summary>
        ''' <value>Lista</value>
        ''' <returns>Lista</returns>
        ''' <remarks></remarks>
        Public Overridable Property Composicoes() As IList(Of Papel)
            Get
                Return _composicoes
            End Get
            Set(ByVal value As IList(Of Papel))
                _composicoes = value
            End Set
        End Property

        Private _extensoes As IList(Of Papel)
        ''' <summary>
        ''' Propriedade Extensoes
        ''' </summary>
        ''' <value>Lista</value>
        ''' <returns>Lista</returns>
        ''' <remarks></remarks>
        Public Overridable Property Extensoes() As IList(Of Papel)
            Get
                Return _extensoes
            End Get
            Set(ByVal value As IList(Of Papel))
                _extensoes = value
            End Set
        End Property

    End Class

End Namespace
